﻿// owner 蒋家伟

#pragma once
#include <functional>
#include "ModelBase_home.h"

// 单元测试函数类型定义
using UnitTestFunction = std::function<bool()>;
using ClassId = const char*;

namespace jsdk
{
    class MODELBASE_EXPORT IUnitTestManager
    {
    public:
        virtual ~IUnitTestManager() {};

        static IUnitTestManager& get();

        /// \ brief 注册单元测试
        virtual void registerTestFunction(const ClassId classId, const UnitTestFunction& unitTestFunction) = 0;

        /// \ breif 开始单元测试
        virtual bool start() const = 0;
    };
}